var api = require('../../utils/api.js');
var app = getApp();
import jiuaiDebounce from '../../utils/jiuai-debounce.js'
var areaList = require('../../utils/area-list.js').addressArr;
var abcd = require('../../utils/address-parse.js')
var addressParse = abcd.parse;
var parseArea = abcd.parseArea;
parseArea(areaList);
// let result = addressParse('郑火城湖北省武汉市洪山区保利浅水湾8栋13593464918');
// console.log(result,'+++')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    region:[],
    picherShow:false,
    is_default:false,
    addressItem:''
  },

  pickerShow(){
    this.setData({
      picherShow: true
    })
  },
  bindRegionChange(e){
   
    var region = e.detail.value
    this.setData({
      region
    })
  },

  copyInfor(e) {
    // console.log(e.detail.value);
    var copyVal = e.detail.value
    this.setData({
      copyVal
    })
  },

  distinguish(){
    var copyVal = this.data.copyVal;
    if (!copyVal){
      wx.showToast({
        title: '请粘贴正确信息',
        icon:'none'
      })
      return
    }
   
    let result = addressParse(copyVal);
    console.log(result, '+++');
    var { name, mobile, detail, addr: address, area: district, city, province, phone } = result;
    province ? province = province + '省' : '';
    city ? city = city + '市' : '';
    var addressItem = { name, mobile, address, city,district,id: this.data.addressItem.id, is_default: this.data.addressItem.is_default}
    console.log(addressItem)
    this.setData({
      addressItem,
      // truename: name,
      // mobileNumber: mobile,
      // addressDetail: addr,
      // address: `${province}${city}${area}` || '所在地区',
      region: [province, city, district]
    })
    console.log(this.data.region)
  },

  //默认地址选择
  switch1Change(e){
    console.log(e.detail.value)
    this.setData({
      is_default: e.detail.value
    })
  },

  //地址保存
  formSubmit(e){
    let formVal = e.detail.value;
    if (!formVal.name){
      wx.showToast({
        title: '请填写姓名',
        icon:'none'
      })
      return
    }
    if (!formVal.mobile) {
      wx.showToast({
        title: '请填写手机号',
        icon: 'none'
      })
      return
    }
    if (this.data.region.length==0) {
      wx.showToast({
        title: '请选择省市区',
        icon: 'none'
      })
      return
    }
    if (!formVal.address) {
      wx.showToast({
        title: '请填写详细地址',
        icon: 'none'
      })
      return
    }
    console.log(e.detail.value, this.data.region)
    var is_default=this.data.is_default?1:0;
    var id = this.data.addressItem.id || 0;
    let params={
      id,
      token: wx.getStorageSync('token'),
      province: this.data.region[0],
      city: this.data.region[1],
      district: this.data.region[2],
      address: formVal.address,
      name: formVal.name,
      mobile: formVal.mobile,
      is_default
    }
    jiuaiDebounce.canDoFunction({
      key: "tap",//基于此值判断是否可以操作，如两个方法传入了同样的key，则会混淆，建议传入调用此事件的方法名，简单好梳理
      time: 3000,//如果传入time字段，则为定时器后，自动解除锁定状态，单位（毫秒）
      success: () => {//成功中调用应该操作的方法，被锁定状态不会执行此代码块内的方法
        api.fetchApi(`/Shipping_address/${this.data.isedit == 1 ? 'edit' : 'add'}`, params).then(res => {
          wx.showToast({
            title: `${this.data.isedit == 1 ? '保存成功' : '添加成功' }`
          })

          let pages = getCurrentPages();    //获取当前页面信息栈
          let prevPage = pages[pages.length - 2]     //获取上一个页面信息栈
          prevPage.getAddressList();
          setTimeout(() => {
            wx.navigateBack({

            })
          }, 1000)
        })
      }
    })

    
  },

  //删除地址
  deleteAdress(){
    let id = this.data.addressItem.id;
    jiuaiDebounce.canDoFunction({
      key: "tap",//基于此值判断是否可以操作，如两个方法传入了同样的key，则会混淆，建议传入调用此事件的方法名，简单好梳理
      time: 3000,//如果传入time字段，则为定时器后，自动解除锁定状态，单位（毫秒）
      success: () => {//成功中调用应该操作的方法，被锁定状态不会执行此代码块内的方法
        api.fetchApi(`/Shipping_address/delete`, { token: wx.getStorageSync('token'), id }).then(res => {
          wx.showToast({
            title: '删除成功'
          })

          let pages = getCurrentPages();    //获取当前页面信息栈
          let prevPage = pages[pages.length - 2]     //获取上一个页面信息栈
          prevPage.getAddressList();
          setTimeout(() => {
            wx.navigateBack({

            })
          }, 1000)
        })
      }
    })

    
  },
 
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
   // console.log(options.isedit)
   this.setData({
     isedit: options.isedit || 0
   })
    if (options.isedit==1){
      wx.setNavigationBarTitle({
        title: '编辑地址'
      })
      let addressItem = JSON.parse(options.itemArr);
      this.setData({
        addressItem,
        region: [addressItem.province, addressItem.city, addressItem.district],
        is_default: addressItem.is_default
      })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})